Permuting data elements of a data block can be a needed step in processing the data block. As one example, some or all of the data elements of an error-correction encoded data block received at a communications receiver may need to be permuted to be compatible with a decoder. For example, the received data block might be received in parallel data segments of a first width, but the decoder is configured to process the received data block in parallel data segments of a different width. In such a case, a parallel-to-parallel conversion may need to be performed. As another example, the order of the data elements in the received data block may need to be changed prior to the decoder processing the data block. Some embodiments of the invention include improved apparatuses and processes for rapidly and efficiently permuting data elements of a data block.